package simple.string;

/**
 * @Desc <a href="https://leetcode.cn/problems/first-unique-character-in-a-string/">387. 字符串中的第一个唯一字符</a>
 * 给定一个字符串s，找到 它的第一个不重复的字符，并返回它的索引 。如果不存在，则返回 -1。
 * 示例 1：
 *   输入: s = "leetcode"
 *   输出: 0
 * 示例 2:
 *   输入: s = "loveleetcode"
 *   输出: 2
 * 示例 3:
 *   输入: s = "aabb"
 *   输出: -1
 * 提示:
 *   1 <= s.length <= 10^5
 *   s只包含小写字母
 * @Date 2023/2/8 17:35
 * @Created by 刘学松
 */
public class 字符串中的第一个唯一字符 {

    public int firstUniqChar(String s) {
        int min = -1;
        for (char c = 'a'; c <= 'z'; c++) {
            int index = s.indexOf(c);
            if (index != -1 && index == s.lastIndexOf(c)) {
                min = (index < min || min == -1) ? index : min;
            }
        }
        return min;
    }
}
